//
//
//import Kingfisher
//import MapKit
//import MessageKit
//import UIKit
//import Alamofire
//
//
//class ChatViewController: BasicChatViewController {
//  
//    override func configureMessageCollectionView() {
//        super.configureMessageCollectionView()
//        messagesCollectionView.messagesLayoutDelegate = self
//        messagesCollectionView.messagesDisplayDelegate = self
//    }
//    
//    func textCellSizeCalculator(for _: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> CellSizeCalculator? {
//        nil
//    }
//  
//}
//
//// MARK: MessagesDisplayDelegate
//
//extension ChatViewController: MessagesDisplayDelegate {
//    // MARK: - Text Messages
//    
//    func textColor(for message: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> UIColor {
//        isFromCurrentSender(message: message) ? .white : .darkText
//    }
//    
//    func detectorAttributes(for detector: DetectorType, and _: MessageType, at _: IndexPath) -> [NSAttributedString.Key: Any] {
//        switch detector {
//        case .hashtag, .mention: return [.foregroundColor: UIColor.blue]
//        default: return MessageLabel.defaultAttributes
//        }
//    }
//    
//    func enabledDetectors(for _: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> [DetectorType] {
//        []
//    }
//    
//    // MARK: - All Messages
//    
//    func backgroundColor(for message: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> UIColor {
//        isFromCurrentSender(message: message) ? primaryColor : UIColor.white
//    }
//    
//    func messageStyle(for message: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> MessageStyle {
//        let tail: MessageStyle.TailCorner = isFromCurrentSender(message: message) ? .bottomRight : .bottomLeft
//        return .bubbleTail(tail, .curved)
//    }
//    
////    func configureAvatarView(_ avatarView: AvatarView, for message: MessageType, at _: IndexPath, in _: MessagesCollectionView) {
////        var avatar = Avatar(image: UIImage(named: "receiverIcon"))
//////        if message.sender.senderId == currentSender.senderId{
//////            avatar = Avatar(image: UIImage(systemName: ""))
//////        }
//////        avatarView.tintColor = .primaryColor
////        avatarView.set(avatar: avatar)
////    }
//    
//    func configureMediaMessageImageView(
//        _ imageView: UIImageView,
//        for message: MessageType,
//        at _: IndexPath,
//        in _: MessagesCollectionView)
//    {
//        if case MessageKind.photo(let media) = message.kind, let imageURL = media.url {
//            imageView.kf.setImage(with: imageURL)
//        } else {
//            imageView.kf.cancelDownloadTask()
//        }
//    }
//    
//    // MARK: - Location Messages
//    
//    func annotationViewForLocation(message _: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> MKAnnotationView? {
//        let annotationView = MKAnnotationView(annotation: nil, reuseIdentifier: nil)
//        let pinImage = #imageLiteral(resourceName: "ic_map_marker")
//        annotationView.image = pinImage
//        annotationView.centerOffset = CGPoint(x: 0, y: -pinImage.size.height / 2)
//        return annotationView
//    }
//    
//    func animationBlockForLocation(
//        message _: MessageType,
//        at _: IndexPath,
//        in _: MessagesCollectionView) -> ((UIImageView) -> Void)?
//    {
//        { view in
//            view.layer.transform = CATransform3DMakeScale(2, 2, 2)
//            UIView.animate(
//                withDuration: 0.6,
//                delay: 0,
//                usingSpringWithDamping: 0.9,
//                initialSpringVelocity: 0,
//                options: [],
//                animations: {
//                    view.layer.transform = CATransform3DIdentity
//                },
//                completion: nil)
//        }
//    }
//    
//    func snapshotOptionsForLocation(
//        message _: MessageType,
//        at _: IndexPath,
//        in _: MessagesCollectionView)
//    -> LocationMessageSnapshotOptions
//    {
//        LocationMessageSnapshotOptions(
//            showsBuildings: true,
//            showsPointsOfInterest: true,
//            span: MKCoordinateSpan(latitudeDelta: 10, longitudeDelta: 10))
//    }
//    
//    // MARK: - Audio Messages
//    
//    func audioTintColor(for message: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> UIColor {
//        isFromCurrentSender(message: message) ? .white : UIColor(red: 15 / 255, green: 135 / 255, blue: 255 / 255, alpha: 1.0)
//    }
//    
//    func configureAudioCell(_ cell: AudioMessageCell, message: MessageType) {
//        audioController
//            .configureAudioCell(
//                cell,
//                message: message) // this is needed especially when the cell is reconfigure while is playing sound
//    }
//}
//
//// MARK: MessagesLayoutDelegate
//
//extension ChatViewController: MessagesLayoutDelegate {
//    func cellTopLabelHeight(for _: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> CGFloat {
//        0
//    }
//    
//    func cellBottomLabelHeight(for _: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> CGFloat {
//        0
//    }
//    
//    func messageTopLabelHeight(for _: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> CGFloat {
//        0
//    }
//    
//    func messageBottomLabelHeight(for _: MessageType, at _: IndexPath, in _: MessagesCollectionView) -> CGFloat {
//        0
//    }
//}
